package cn.tedu.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**本类用于测试List接口*/
public class TestList {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("大力娃");
        list.add("千顺娃");
        list.add("头铁娃");
        list.add("喷火娃");
        list.add("喷水娃");
        list.add("隐身娃");
        list.add("小紫娃");
        System.out.println(list);
//        list.clear();
//        System.out.println(list);
        System.out.println(list.contains("喷火娃"));//true
        System.out.println(list.equals("喷水娃"));//false
        System.out.println(list.isEmpty());//false,
        System.out.println(list.remove("小紫娃"));//移除指定元素
        System.out.println(list.size());//6
        System.out.println(Arrays.toString(list.toArray()));//将集合转成数组并打印
        
        //3.测试list自己的方法--List有序,可以根据索引来操作集合中的元素
        list.add(0,"小蝴蝶");
        System.out.println(list);
        list.add("蛇精");
        System.out.println(list);
        list.add(3,"小蝴蝶");
        System.out.println(list.indexOf("小蝴蝶"));//获取指定元素第一次出现的索引
        System.out.println(list.lastIndexOf("小蝴蝶"));//获取指定元素最后一次出现的索引
        System.out.println(list);
        System.out.println(list.remove(3));//根据索引删除元素,并返回
        System.out.println(list);
        System.out.println(list.get(3));//获取指定索引处的元素
        System.out.println(list.set(7,"蝎子精"));
        System.out.println(list);
        System.out.println("*************");
        //4.测试集合间的操作
        List<String> list2=new ArrayList<>();
        list2.add("1");
        list2.add("2");
        list2.add("3");
        list2.add("4");
        System.out.println(list2);
        System.out.println(list.addAll(0,list2));//将2集合的所有元素添加到1集合的指定位置
        System.out.println(list);
        System.out.println(list.containsAll(list2));//true,判断list集合中是否包含list2集合中的所有元素
        System.out.println(list.removeAll(list2));
        System.out.println(list);
    }
}
